const express = require('express');
const router = express.Router();
const { db } = require('../db/database');

// 获取所有购物车信息
router.get('/', (req, res) => {
    db.all('SELECT * FROM 购物车信息', (err, rows) => {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        res.json(rows);
    });
});

// 根据购物车编号获取单个购物车信息
router.get('/:id', (req, res) => {
    const id = req.params.id;
    db.get('SELECT * FROM 购物车信息 WHERE 购物车编号 =?', [id], (err, row) => {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        if (!row) {
            res.status(404).json({ error: '购物车记录未找到' });
            return;
        }
        res.json(row);
    });
});

// 添加商品到购物车
router.post('/', (req, res) => {
    const { 用户编号, 商品编号, 商品数量 } = req.body;
    const insertCart = db.prepare('INSERT INTO 购物车信息 (用户编号, 商品编号, 商品数量) VALUES (?,?,?)');
    insertCart.run([用户编号, 商品编号, 商品数量], function (err) {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        res.status(201).json({ id: this.lastID, message: '商品添加到购物车成功' });
    });
    insertCart.finalize();
});

// 更新购物车商品数量
router.put('/:id', (req, res) => {
    const id = req.params.id;
    const { 商品数量 } = req.body;
    db.run('UPDATE 购物车信息 SET 商品数量 =? WHERE 购物车编号 =?', [商品数量, id], function (err) {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        if (this.changes === 0) {
            res.status(404).json({ error: '购物车记录未找到' });
            return;
        }
        res.json({ message: '购物车商品数量更新成功' });
    });
});

// 从购物车删除商品
router.delete('/:id', (req, res) => {
    const id = req.params.id;
    db.run('DELETE FROM 购物车信息 WHERE 购物车编号 =?', [id], function (err) {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        if (this.changes === 0) {
            res.status(404).json({ error: '购物车记录未找到' });
            return;
        }
        res.json({ message: '商品从购物车删除成功' });
    });
});

module.exports = router;